﻿#pragma once
#include<assert.h>
namespace boogiepop
{
	template<class T>
	class vector
	{
		public :
		typedef T* iterator;
		// 类模板的成员函数，也可以是⼀个函数模板
		template <class InputIterator>
		vector(InputIterator first, InputIterator last)
		{
			// 为了提⾼效率可以提前resize
			// 这⾥InputIterator是模板参数，随机迭代器⽀持减计算个数
			// 单向和双向迭代器只是迭代计数计算个数
			// resize(last - first);
			resize(boogiepop::distance(first, last));
			while (first != last)
			{
				// push_back(*first);
				++first;
			}
		} 
		void resize(size_t n) {}
	private:
		iterator _start = nullptr;
		iterator _finish = nullptr;
		iterator _end_of_storage = nullptr;
	};
}

